/*
Java board game library.
Copyright (C) 2011  Deepesh Garg

This program is free software; you can redistribute it and/or
modify it under the terms of the GNU General Public License
as published by the Free Software Foundation; either version 2
of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful,
but WITHOUT ANY WARRANTY; without even the implied warranty of
MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
GNU General Public License for more details.

You should have received a copy of the GNU General Public License
along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA  02110-1301, USA.
*/

package d.g.boardgames.chess;

public class SimpleAnalyzer {

	/**
	 * @param args
	 */
	public static void main(String[] args) throws Exception {
		
		ChessMoveParser moveParser = new CoordinateMoveParser();
		PositionAnalyser positionAnalyser = new CraftyPositionAnalyser(2, 11);
		FENSerializer fenSerializer = new FENSerializer();
		int argIndex = 0;
		ChessBoard board = null;
		while (argIndex < args.length) {
			if (args[argIndex++].equals("-fen")) {
				board = fenSerializer.getBoard(args[argIndex]); 
			}
			argIndex++;
		}
		if (board == null) {
			board = new ChessBoard();
		}
		AnalysisData analysisData = positionAnalyser.analyse(board);					
		int c;
		String moveString = "";
		while ((c = System.in.read()) != -1) {
			if (!Character.isWhitespace((char)c)) {
				moveString += (char)c;
			} else if (!moveString.equals("")) {
				ChessMove move = moveParser.parseMoveString(board, moveString);
				if (move != null) {
					System.out.print (board.getTurn() + " " + moveString);
					board = board.move(move);
					analysisData = positionAnalyser.analyse(board);					
				}
				moveString = "";
			}
		}
	}
}
